package org.dht.com;

/**
 * The {@code Observer} interface defines the basic methods for implementing the
 * observer pattern with the class {@link Observable}
 * 
 * @param <E>
 */
public interface Observer<E extends Object> {
	/**
	 * Gets the name of Observer
	 * 
	 * @return Observer name
	 */
	public String getName();

	/**
	 * Define the method update of the the observer pattern
	 */
	public <T extends E> void update(T t);
}
